.task-page {
  background-color: #F7F8FA;
  padding: 16px;
  height: 100vh;
  box-sizing: border-box;
  overflow-y: auto;

  // 没有任务时的UI样式
  .no-task {
    height: 200px;
    display: flex;
    justify-content: center;

    .no-task-content {
      background: white;
      border-radius: 20px;
      padding: 40px 30px;
      display: flex;
      flex-direction: column;
      align-items: center;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
      position: relative;
      width: 80%;
      overflow: hidden;

      .no-task-icon {
        width: 100px;
        height: 100px;
        background: linear-gradient(135deg, #f0f7ff 0%, #e0e9f5 100%);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 20px;
        color: #4086FF;
        box-shadow: 0 8px 20px rgba(64, 134, 255, 0.15);
      }

      .no-task-title {
        font-size: 22px;
        font-weight: 600;
        color: #333;
        margin-bottom: 10px;
      }

      .no-task-desc {
        font-size: 14px;
        color: #888;
        text-align: center;
      }

      // 装饰元素
      .no-task-decoration-1 {
        position: absolute;
        width: 120px;
        height: 120px;
        border-radius: 50%;
        background: linear-gradient(135deg, #4086ff1a 0%, rgba(59, 125, 240, 0.1) 100%);
        top: -40px;
        right: -40px;
        z-index: 0;
      }

      .no-task-decoration-2 {
        position: absolute;
        width: 80px;
        height: 80px;
        border-radius: 50%;
        background: linear-gradient(135deg, rgba(249, 168, 37, 0.1) 0%, rgba(255, 193, 7, 0.1) 100%);
        bottom: -30px;
        left: -20px;
        z-index: 0;
      }

      .no-task-decoration-3 {
        position: absolute;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: linear-gradient(135deg, rgba(76, 175, 80, 0.1) 0%, rgba(46, 125, 50, 0.1) 100%);
        top: 30px;
        left: 20px;
        z-index: 0;
      }
    }
  }

  .nut-tabs-titles {
    width: 100%;
    margin-bottom: 16px;
    border-radius: 8px;
  }

  .nut-tabs-titles-button .nut-tabs-titles-item-active .nut-tabs-titles-item-text {
    --nutui-tabs-button-active-background-color: #ffffff;
    --nutui-tabs-titles-item-active-color: #000000;
    --nutui-color-primary: #ffffff;
    --nutui-tabs-button-border-radius: 8px;

    height: 34px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
  }

  .task-today {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  .task-stats-row {
    display: flex;
    gap: 12px;

    .stat-card {
      background: white;
      border-radius: 12px;
      padding: 16px;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
      flex: 1;
      display: flex;
      flex-direction: column;

      .stat-title {
        font-size: 14px;
        color: #000000;
        margin-bottom: 0px;
      }

      .stat-content {
        display: flex;
        align-items: center;
        margin-top: auto;
        flex: 1;
      }
    }

    .task-count-card {
      background: linear-gradient(135deg, #ffffff 0%, #f8f9ff 100%);

      .count-icon-container {
        margin-right: 14px;
      }

      .count-icon {
        width: 36px;
        height: 36px;
        border-radius: 12px;
        background: #E8EFFF;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #4086FF;
        font-size: 18px;
      }

      .stat-value {
        font-size: 36px;
        font-weight: 600;
        color: #4086FF;
      }
    }

    .report-status-card {
      background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);

      .status-text {
        font-size: 18px;
        font-weight: 500;
        text-align: center;

        &.loading {
          color: #999;
        }
      }

      .status-container {
        display: flex;
        align-items: center;
        padding: 10px 10px;
        border-radius: 8px;

        .status-text {
          font-size: 26px;
          font-weight: 600;

        }

        .status-icon {
          width: 36px;
          height: 36px;
          border-radius: 12px;
          margin-right: 10px;
          display: flex;
          align-items: center;
          justify-content: center;
          background-color: #E8EFFF;
        }

        &.submitted {
          color: #56d295;

          .status-icon {
            background-color: #f0fff5;
          }
        }

        &.not-submitted {
          color: #ff6961;

          .status-icon {
            background-color: #fff1f0;
          }
        }
      }
    }
  }

  .task-list-section {
    background: white;
    border-radius: 12px;
    padding: 16px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);

    .section-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding-bottom: 12px;
      border-bottom: 1px solid #f0f0f0;

      .section-title {
        font-size: 16px;
        font-weight: 600;
        color: #333;
      }

      .report-reminder {
        display: flex;
        align-items: center;
        padding: 6px 12px;
        border-radius: 16px;
        color: #ff6961;

        .nut-icon {
          --nut-icon-width: 14px;
          --nut-icon-height: 14px;
          margin-right: 6px;
        }

        .reminder-text {
          font-size: 14px;
          color: #ff6961;
          font-weight: 500;
        }
      }
    }
  }

  .task-list {
    .task-item {
      display: flex;
      align-items: center;
      padding: 12px;
      border-radius: 8px;
      border-bottom: 1px solid #f0f0f0;
      transition: all 0.2s ease;

      &:last-child {
        margin-bottom: 0;
      }

      .task-index {
        width: 28px;
        height: 28px;
        border-radius: 50%;
        background-color: #E8EFFF;
        color: #4086FF;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 14px;
        font-weight: 600;
        margin-right: 12px;
        flex-shrink: 0;
      }

      .task-content {
        flex: 1;
        font-size: 14px;
        line-height: 1.5;
        color: #1a1a1a;
        font-weight: 500;

        .task-title {
          // 两行显示
          width: 100%;
          overflow: hidden;
          text-overflow: ellipsis;
          display: -webkit-box;
          -webkit-line-clamp: 1;
          -webkit-box-orient: vertical;
        }
      }
    }

    .loading-state,
    .empty-state {
      padding: 30px 0;
      text-align: center;
      color: #999;
      font-size: 14px;
    }
  }

  .daily-report {
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    padding: 20px;

    .report-header {
      margin-bottom: 20px;

      .report-title {
        font-size: 18px;
        font-weight: 600;
        color: #333;
      }
    }

    .report-form {
      .form-item {
        margin-bottom: 16px;

        .form-label {
          display: block;
          font-size: 15px;
          color: #333;
          margin-bottom: 8px;
        }

        .date-field {
          background-color: #f9f9f9;
          padding: 12px 16px;
          border-radius: 8px;
          color: #666;
          font-size: 14px;
          border: 1px solid #f0f0f0;
        }

        .form-textarea {
          width: 100%;
          box-sizing: border-box;
          min-height: 80px;
          background-color: #f9f9f9;
          border-radius: 8px;
          padding: 12px;
          font-size: 12px;
          color: #333;
          border: 1px solid #f0f0f0;
        }

        .image-uploader-container {
          width: 100%;

          .image-limit-hint {
            text-align: right;
            padding: 4px 0;

            .hint-text {
              font-size: 12px;
              color: #999;
            }
          }

          .uploaded-images-list {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;

            .image-preview-item {
              width: 80px;
              height: 80px;
              position: relative;
              border-radius: 8px;
              overflow: hidden;

              .preview-image {
                width: 100%;
                height: 100%;
                object-fit: cover;
              }

              .delete-image-btn {
                position: absolute;
                top: 0;
                right: 0;
                width: 20px;
                height: 20px;
                background-color: rgba(0, 0, 0, 0.6);
                color: white;
                display: flex;
                align-items: center;
                justify-content: center;
                font-size: 16px;
                border-radius: 0 0 0 8px;
              }
            }

            .add-image-button {
              width: 80px;
              height: 80px;
              background-color: #f5f7fa;
              border: 1px dashed #ccc;
              border-radius: 8px;
              display: flex;
              flex-direction: column;
              align-items: center;
              justify-content: center;
              color: #4086FF;

              .add-text {
                font-size: 12px;
                margin-top: 4px;
              }
            }
          }
        }
      }

      .submit-button {
        width: 100%;
        height: 50px;
        margin-top: 20px;
        background-color: #4086FF;
        color: white;
        font-size: 16px;
        font-weight: 500;
        border-radius: 8px;
        display: flex;
        align-items: center;
        justify-content: center;
      }
    }

    // 已提交日报的样式
    &.submitted-report {
      .report-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding-bottom: 15px;
        border-bottom: 1px solid #f0f0f0;

        .report-date {
          font-size: 14px;
          color: #888;
          background-color: #f5f7fa;
          padding: 5px 10px;
          border-radius: 15px;
        }
      }

      .section-title {
        display: flex;
        align-items: center;
        margin: 20px 0 15px;

        .title-icon {
          width: 4px;
          height: 18px;
          background: linear-gradient(to bottom, #4086FF, #5a9cff);
          border-radius: 2px;
          margin-right: 8px;
        }

        Text {
          font-size: 16px;
          font-weight: 600;
          color: #333;
        }
      }

      .report-content-section {
        margin-top: 10px;

        .report-content-text {
          background-color: #f9f9f9;
          border-radius: 10px;
          padding: 15px;
          font-size: 14px;
          line-height: 1.5;
          color: #555;
          margin-bottom: 15px;
        }

        .report-images {
          display: flex;
          flex-wrap: wrap;
          gap: 10px;
          margin-top: 15px;

          .report-image {
            width: 80px;
            height: 80px;
            border-radius: 8px;
            object-fit: cover;
            box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
          }
        }
      }

      .report-review-section {
        margin-top: 20px;

        .score-cards {
          display: grid;
          grid-template-columns: repeat(2, 1fr);
          gap: 15px;

          .score-card {
            position: relative;
            background: white;
            border-radius: 12px;
            padding: 15px;
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
            overflow: hidden;
            min-height: 120px;
            display: flex;
            flex-direction: column;
            border: 1px solid #f0f0f0;

            .score-name {
              font-size: 14px;
              font-weight: 600;
              color: #333;
              margin-bottom: 10px;
              position: relative;
              z-index: 2;
            }

            .score-value {
              font-size: 36px;
              font-weight: 700;
              color: #4086FF;
              margin-bottom: 5px;
              position: relative;
              z-index: 2;
            }

            .score-desc {
              font-size: 12px;
              color: #666;
              line-height: 1.4;
              position: relative;
              z-index: 2;
            }

            .score-bg {
              position: absolute;
              width: 120px;
              height: 120px;
              border-radius: 50%;
              right: -30px;
              bottom: -30px;
              opacity: 0.1;

              // 基础
              &.basic-5 {
                background: radial-gradient(circle, #4CAF50, #2E7D32);
              }

              &.basic-4 {
                background: radial-gradient(circle, #8BC34A, #558B2F);
              }

              &.basic-3 {
                background: radial-gradient(circle, #FFEB3B, #F9A825);
              }

              &.basic-2 {
                background: radial-gradient(circle, #FF9800, #EF6C00);
              }

              &.basic-1 {
                background: radial-gradient(circle, #FF5722, #D84315);
              }

              &.basic-0 {
                background: radial-gradient(circle, #F44336, #B71C1C);
              }

              // 额外
              &.excess-5 {
                background: radial-gradient(circle, #9C27B0, #6A1B9A);
              }

              &.excess-4 {
                background: radial-gradient(circle, #673AB7, #4527A0);
              }

              &.excess-3 {
                background: radial-gradient(circle, #3F51B5, #303F9F);
              }

              &.excess-2 {
                background: radial-gradient(circle, #2196F3, #1976D2);
              }

              &.excess-1 {
                background: radial-gradient(circle, #03A9F4, #0288D1);
              }

              &.excess-0 {
                background: radial-gradient(circle, #00BCD4, #0097A7);
              }

              // 其他
              &.extra-5 {
                background: radial-gradient(circle, #E91E63, #880E4F);
              }

              &.extra-4 {
                background: radial-gradient(circle, #F44336, #B71C1C);
              }

              &.extra-3 {
                background: radial-gradient(circle, #FF5722, #D84315);
              }

              &.extra-2 {
                background: radial-gradient(circle, #FF9800, #EF6C00);
              }

              &.extra-1 {
                background: radial-gradient(circle, #FFC107, #FFA000);
              }

              &.extra-0 {
                background: radial-gradient(circle, #FFEB3B, #F9A825);
              }
            }
          }
        }
      }

      .total-score-section {
        margin-top: 30px;
        display: flex;
        flex-direction: column;
        align-items: center;

        .total-score-container {
          margin-bottom: 20px;

          .total-score-ring {
            width: 120px;
            height: 120px;
            border-radius: 50%;
            background: conic-gradient(#4086FF 0%, #4086FF 100%, #E8EFFF 100%, #E8EFFF 100%);
            box-shadow: 0 6px 15px rgba(64, 134, 255, 0.2);
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            position: relative;

            &::before {
              content: "";
              position: absolute;
              width: 100px;
              height: 100px;
              border-radius: 50%;
              background: white;
            }

            .total-score-value {
              font-size: 40px;
              font-weight: 700;
              color: #4086FF;
              position: relative;
              line-height: 1;
            }

            .total-score-label {
              font-size: 14px;
              color: #666;
              position: relative;
            }
          }
        }

        .total-score-review {
          text-align: center;
          padding: 15px 20px;
          background-color: #f0f7ff;
          border-radius: 12px;
          font-size: 14px;
          line-height: 1.6;
          color: #4086FF;
          max-width: 90%;
          box-shadow: 0 3px 8px rgba(64, 134, 255, 0.1);
        }
      }
    }
  }
}